require('dotenv').config();
const mongoose = require('mongoose');
const User = require('../server/src/models/User');

// 默认管理员账户信息
const defaultAdmin = {
  username: 'admin',
  email: 'admin@example.com',
  password: 'admin123',
  role: 'admin'
};

async function initializeUser() {
  console.log('开始初始化用户...');
  try {
    // 连接到MongoDB
    await mongoose.connect(process.env.MONGODB_URI || 'mongodb://localhost:27017/intelligence-system');
    console.log('数据库连接成功');

    // 检查是否已存在管理员用户
    const existingAdmin = await User.findOne({ role: 'admin' });
    
    if (existingAdmin) {
      console.log('系统中已存在管理员用户，跳过初始化');
      console.log(`现有管理员: ${existingAdmin.username} (${existingAdmin.email})`);
    } else {
      // 创建新的管理员用户
      const newAdmin = new User(defaultAdmin);
      await newAdmin.save();
      console.log('管理员用户创建成功');
      console.log(`用户名: ${defaultAdmin.username}`);
      console.log(`密码: ${defaultAdmin.password}`);
      console.log(`邮箱: ${defaultAdmin.email}`);
      console.log('请登录后立即修改密码!');
    }
  } catch (error) {
    console.error('用户初始化失败:', error);
  } finally {
    // 断开数据库连接
    await mongoose.disconnect();
    console.log('数据库连接已关闭');
  }
}

// 执行初始化
initializeUser(); 